package com.dxg.msns.common.pojo;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户历史记录详情VO类
 * 包含历史记录基本信息和音乐详细信息
 * 
 * @author system
 */
public class UserHistoryDetailVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 历史记录ID
     */
    private Long id;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 音乐ID
     */
    private String musicId;

    /**
     * 播放时间
     */
    private Date createTime;

    /**
     * 歌曲名称
     */
    private String musicName;

    /**
     * 歌手名称
     */
    private String musicAuthor;

    /**
     * 歌曲封面URL
     */
    private String musicCoverUrl;

    /**
     * 歌曲长度
     */
    private String musicLength;

    /**
     * 是否收藏（true：已收藏，false：未收藏）
     */
    private Boolean isFavorite;

    /**
     * 歌曲专辑
     */
    private String musicAlbum;

    /**
     * 歌曲评分
     */
    private String musicAverageGrade;


    /**
     * 歌曲评分
     */
    private String musicUrl;

    @Override
    public String toString() {
        return "UserHistoryDetailVO{" +
                "id=" + id +
                ", userId='" + userId + '\'' +
                ", musicId='" + musicId + '\'' +
                ", createTime=" + createTime +
                ", musicName='" + musicName + '\'' +
                ", musicAuthor='" + musicAuthor + '\'' +
                ", musicCoverUrl='" + musicCoverUrl + '\'' +
                ", musicLength='" + musicLength + '\'' +
                ", isFavorite=" + isFavorite +
                ", musicAlbum='" + musicAlbum + '\'' +
                ", musicAverageGrade='" + musicAverageGrade + '\'' +
                ", musicUrl='" + musicUrl + '\'' +
                '}';
    }

    public UserHistoryDetailVO(Long id, String userId, String musicId, Date createTime, String musicName, String musicAuthor, String musicCoverUrl, String musicLength, Boolean isFavorite, String musicAlbum, String musicAverageGrade, String musicUrl) {
        this.id = id;
        this.userId = userId;
        this.musicId = musicId;
        this.createTime = createTime;
        this.musicName = musicName;
        this.musicAuthor = musicAuthor;
        this.musicCoverUrl = musicCoverUrl;
        this.musicLength = musicLength;
        this.isFavorite = isFavorite;
        this.musicAlbum = musicAlbum;
        this.musicAverageGrade = musicAverageGrade;
        this.musicUrl = musicUrl;
    }

    // 构造方法
    public UserHistoryDetailVO() {
    }



    // Getter 和 Setter 方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getMusicId() {
        return musicId;
    }

    public void setMusicId(String musicId) {
        this.musicId = musicId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getMusicName() {
        return musicName;
    }

    public void setMusicName(String musicName) {
        this.musicName = musicName;
    }

    public String getMusicAuthor() {
        return musicAuthor;
    }

    public void setMusicAuthor(String musicAuthor) {
        this.musicAuthor = musicAuthor;
    }

    public String getMusicCoverUrl() {
        return musicCoverUrl;
    }

    public void setMusicCoverUrl(String musicCoverUrl) {
        this.musicCoverUrl = musicCoverUrl;
    }

    public String getMusicLength() {
        return musicLength;
    }

    public void setMusicLength(String musicLength) {
        this.musicLength = musicLength;
    }

    public Boolean getIsFavorite() {
        return isFavorite;
    }

    public void setIsFavorite(Boolean isFavorite) {
        this.isFavorite = isFavorite;
    }

    public String getMusicAlbum() {
        return musicAlbum;
    }

    public void setMusicAlbum(String musicAlbum) {
        this.musicAlbum = musicAlbum;
    }

    public String getMusicAverageGrade() {
        return musicAverageGrade;
    }

    public void setMusicAverageGrade(String musicAverageGrade) {
        this.musicAverageGrade = musicAverageGrade;
    }

    public String getMusicUrl() {
        return musicUrl;
    }

    public void setMusicUrl(String musicUrl) {
        this.musicUrl = musicUrl;
    }
}